【数据分享】全国各省ESA 10 米土地利用镶嵌数据制作与分享
文章来源:锐多宝的地理空间
/ 0.背景 /
ESA 的推文又来啦,这次是进行了全国、各省2020年的 ESA 数据。
/ 1.制作方法 /
👀
1.1 制作流程
该数据在镶嵌过程中,已经进行了 LZW 压缩,全国 10 米的 ESA 土地利用影像大小为 6G。
中途有些小脚本未添加到主流程中,请参考 2020 年 ESRI 数据制作和筛选 ESA 中国区域的推文。
GDAL 内容丰富,功能强大。RasterIO 和 GeoPandas 也是基于 GDAL 的 Python 包。
👀
1.2 裁剪代码
#裁剪函数
# -*- coding: utf-8 -*-
from geopandas import *
import rasterio as rio
import rasterio.mask
import rasterio
import os
from tqdm import tqdm
import _thread
#全局变量
# 读入矢量
shpdatafile = r'D:\资源\ESA\矢量\各省矢量.shp'
shpdata=GeoDataFrame.from_file(shpdatafile)
#创建各地文件夹函数
def mkdir(path):
# 引入模块
# 去除首位空格
path = path.strip()
# 去除尾部 \ 符号
path = path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists = os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(path)
print(path + ' 创建成功')
return True
else:
# 如果目录存在则不创建,并提示目录已存在
print(path + ' 目录已存在')
return False
#ESA原始文件夹
files_path =r"D:\资源\ESA\CHINA"
pathDir= os.listdir(files_path)
,以后数据分享会设置限制条件✌
for i in tqdm(range(len(pathDir))):
# 读入栅格文件
rasterfile = files_path+"\\"+pathDir[i]
rasterdata = rio.open(rasterfile)
#获取栅格信息
profile = rasterdata.profile
#标识符
biaoshi = pathDir[i]
# 投影变换,使矢量数据与栅格数据投影参数一致
shpdata = shpdata.to_crs(rasterdata.crs)
# 按照所有矢量进行循环裁剪
for j in range(0, len(shpdata)):
try:
# 获取矢量数据的features
geo = shpdata.geometry[j]
#获取该要素的属性信息
data_shp_name_sheng=shpdata.NAME[j]
#文件保存位置的文件夹 各省
data_filepath=str(data_shp_name_sheng)
feature = [geo.__geo_interface__]
# 通过feature裁剪栅格影像
out_image, out_transform = rio.mask.mask(rasterdata, feature, all_touched=True, crop=True, nodata=0)
profile.update(
height=out_image.shape[1],
width=out_image.shape[2],
shape=(out_image.shape[1],out_image.shape[2]),
nodata=0,
bounds=[],
transform=out_transform,
)
# 定义要创建的目录
mkpath = "D:\资源\ESA\PRO_CLIP\\" + data_shp_name_sheng+ "\\"
mkdir(mkpath)
#文件名字
name=mkpath+"\\"+data_shp_name_sheng+"_"+biaoshi
with rasterio.open(name, mode='w', **profile) as dst:
dst.write(out_image)
except:
pass
👀
1.3 镶嵌代码
# 镶嵌一个文件夹中的所有文件
import os
from geopandas import *
from osgeo import gdal, gdalconst
from tqdm import tqdm
tifPath = r'D:\资源\ESA\PRO_CLIP\\' # 待融合的图像所在的文件夹
tifPaths_folder = os.listdir(tifPath)
# 输出文件位置
path_save = r"D:\\资源\\ESA\\PRO_CLIP_mosaic\\"
# 循环目录
for path in tqdm(tifPaths_folder):
try:
DEM_SMALL_PATH = os.path.join(tifPath, path)
for (pathname, dirs, files) in os.walk(DEM_SMALL_PATH):
son_Paths_file = files
# 如果影像数量大于一
if len(son_Paths_file) >= 2:
DEM_SMALL_PATH2 = DEM_SMALL_PATH + "\\"
# 循环子目录,进行镶嵌
# 循环同一个文件下的tif文件
inputFiles = []
for path_small in son_Paths_file:
# 每一个栅格的路径
son_Paths_PATH = os.path.join(DEM_SMALL_PATH2, path_small)
# 读取影像
inputrasfile = gdal.Open(son_Paths_PATH, gdal.GA_ReadOnly) # 读取影像
inputProj = inputrasfile.GetProjection() # 获取坐标系
inputFiles.append(inputrasfile) # 推入列表
options = gdal.WarpOptions(srcSRS=inputProj, # 输入坐标系
dstSRS=inputProj, # 输出坐标系
format='GTiff', # 图像格式
resampleAlg=gdalconst.GRIORA_NearestNeighbour, # 重采样算法,这里是双线性内插
dstNodata=0, # 缺省值
creationOptions=['COMPRESS=LZW'],
outputType=gdalconst.GDT_Byte)
# 创建文件夹
Landcover_to_save = path_save + path
mkdir(Landcover_to_save)
# 输出文件名
outputfilePath = Landcover_to_save + "\\" + path + "_土地利用数据" + "_10m分辨率_ESA数据_2020年" + ".tif"
# 写栅格
gdal.Warp(outputfilePath, inputFiles, options=options) # 图像镶嵌
except:
pass
/ 2.数据展示 /
全国 2020 年 ESA 的 10 米土地利用影像
北京市 2020 年 ESA 的 10 米土地利用影像
天津市 2020 年 ESA 的 10 米土地利用影像
上海市 2020 年 ESA 的 10 米土地利用影像
重庆市市 2020 年 ESA 的 10 米土地利用影像
/ 3.数据获取 /
本次资料需参与转发活动领取,Ai尚研修会员无需转发可直接领取
长按下方二维码关注"Ai尚研修"公众号
回复关键词“155” 查看领取方式!
1
教学方式
INTRODUCE
线上学习+导师群辅助+不定期线上答疑
2
主讲专家
INTRODUCE
刘瑞民(副教授),北京师范大学副教授、博士生导师。主要关注流域综合管理,数字流域建模,流域水土过程模拟,洪水淹没风险评估,流域面源模拟与控制,流域水资源优化配置等,为流域管理决策提供重要支撑。在Environmental Science &Technology、Water Research、Journal of Hazardous Materials,Journal of Cleaner Production等杂志发表论文100余篇。
3
教学特色
INTRODUCE
1、原理深入浅出的讲解;
2、技巧方法讲解,提供所有案例数据及代码;
3、与项目案例相结合讲解实现方法,对接实际工作应用 ;
4、跟学上机操作、独立完成案例操作练习、全程问题跟踪解析;
5、建立导师助学交流群,长期进行答疑及经验分享,辅助学习及应用,不定期召开线上答疑;
4
发票及报销文件
INTRODUCE
发票开具:培训费、会议费、资料费、技术咨询费等,配有盖章文件等,用于参会人员报销使用。
5
ArcGIS洪水灾害普查、风险评估及淹没制图
INTRODUCE
直播时间:2021年12月11日—13日
上下滑动查看更多
6
ArcGIS 在水土流失模拟及分析中的实践技术应用
INTRODUCE
直播时间:2021年12月24日—26日
上下滑动查看更多
7
SWAT模型在水文水资源、面源污染模拟
INTRODUCE
直播时间:2022年1月14日—1月17日
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
1
FVCOM三维水动力与水交换、污染物扩散数值模拟
INTRODUCE
直播时间:2021年12月18日—19日、25日
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
2
HYPE分布式水文模型建模
INTRODUCE
直播时间:2021年12月24日—12月26日
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
3
Python在气象与海洋中的实践技术应用
INTRODUCE
直播时间:2022年1月8日-9日 15日-16日
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
4
FVCOM溢油及物质输运数值模拟
INTRODUCE
直播时间:2022年1月14日—1月16日 (共计3天学习)
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
5
Delft3D建模、水动力模拟方法及在地表水环境
INTRODUCE
直播时间:2022年1月14日-16日(三全天)
教学方式:线上学习+导师群辅助+不定期线上答疑
上下滑动查看更多
6
联系我们
INTRODUCE
视频课程最高享受7.5折优惠
贾莲:185-1037-1192(同微)
免费数据资源
Ai尚研修海量资源(数据、课件、书籍、视频教程)一键免费领取
(点击数据标题,直接进入)
土利用数据
上下滑动查看更多
超级会员专享
END
声明: 本号旨在传播、传递、交流,对相关文章内容观点保持中立态度。涉及内容如有侵权或其他问题,请与本号联系,第一时间做出撤回。
END
Ai尚研修丨专注科研领域
技术推广,人才招聘推荐,科研活动服务
科研技术云导师,Easy Scientific Research